{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sebastian Raschka \n",
      "last updated: 2016-06-11 \n",
      "\n",
      "CPython 3.5.1\n",
      "IPython 4.2.0\n",
      "\n",
      "numpy 1.11.0\n",
      "mlxtend 0.4.2.dev0\n"
     ]
    }
   ],
   "source": [
    "%load_ext watermark\n",
    "%watermark -a 'Sebastian Raschka' -u -d -v -p numpy,mlxtend"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "**This Jupyter notebook contains the code to create the data visualizations for the article \"Model evaluation, model selection, and algorithm selection in machine learning - Part I\"\n",
    "at http://sebastianraschka.com/blog/2016/model-evaluation-selection-part1.html.**\n",
    "\n",
    "---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Iris Feature by Class Distribution in Random Subsampling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from mlxtend.data import iris_data\n",
    "from mlxtend.preprocessing import shuffle_arrays_unison\n",
    "\n",
    "X, y = iris_data()\n",
    "\n",
    "X, y = shuffle_arrays_unison([X, y], random_seed=123)\n",
    "X_train, X_test = X[:100], X[100:150]\n",
    "y_train, y_test = y[:100], y[100:150]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([50, 50, 50])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.bincount(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([38, 28, 34])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.bincount(y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([12, 22, 16])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.bincount(y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df = pd.DataFrame(X)\n",
    "df['class'] = y\n",
    "\n",
    "df_train = pd.DataFrame(X_train)\n",
    "df_train['class'] = y_train\n",
    "\n",
    "df_test = pd.DataFrame(X_test)\n",
    "df_test['class'] = y_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110685be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAESCAYAAABU9moZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYVGXfB/DvDCKooOyguJEgEirgOrgkUbmkJYhoEKZi\nKcpjWQ+Z9GqJ2WsPikteUApuTy4phqlXmplCogKaiGWljhqgqSOrTiqLzLx/+DI5zqAMsxyQ7+e6\nvC7nPvf5nd+5Hfh5tvuIysvLlSAiIhKAWOgEiIio+WIRIiIiwbAIERGRYFiEiIhIMCxCREQkGBYh\nIiISDIsQURNy584d2Nra4rXXXhM6FSKDaCF0AkRNga2trU79k5KSEBYWZpRcRCIRRCKRUWITmRqL\nEFE9zJs3T6Nty5YtuHr1KsLCwtC5c2e1Zb169TJKHm3atMGJEyfQpk0bo8QnMjURZ0wgapgxY8bg\n+PHj2Lt3LwYPHix0OkRNEq8JERlRQEAA7OzscPPmTaxatQoSiQTOzs6YMWMGAKCsrAwrVqzA6NGj\n4eXlBScnJ3Tv3h0RERE4ffq0Rry6rgnNnz8ftra22LNnD3788UeMGjUKHTt2ROfOnfH666/jzz//\nNMn+EumKp+OIjKj22s3s2bNx6tQpvPTSSxg1ahTs7OwAAL/88gv+85//YMiQIRg9ejTatm2LgoIC\n7N+/HwcPHkRaWlq9jrJqrxOlpaXhu+++w8iRIzFt2jScPXsW+/btw5kzZ5CdnQ0rKyuj7i+RrliE\niIxMqVTiwoULOHbsGJydndWW+fj44Pz582jXrp1ae35+Pl544QUsWLAAhw8frvd2vv/+e+zfvx/9\n+vVTtc+dOxcpKSnYsWMHIiMj9d8hIgPi6TgiIxOJRIiJidEoQABgY2OjUYAAoGvXrhg1ahTy8vJQ\nXl5e721FRESoFSAAmDJlCpRKJU6dOqV78kRGxiMhIhPo06dPncuOHDmCtWvX4vTp0ygqKkJ1dbVq\nmUgkwvXr12FjY/PEbYhEIvj4+Gi0u7q6AoBOxYzIVFiEiExA21EQAGzfvh0zZ86ElZUVnn/+eXTp\n0gWtW7eGSCTC4cOHcfLkSVRWVtZ7O9qOqlq0ePBjXlNT07DkiYyIRYjIBOp6uHTx4sWwtrZGZmam\nxrNGly5dwsmTJ02RHpFgeE2ISCA1NTW4evUqevXqpVGA7t+/j5ycHIEyIzIdFiEigZiZmaFDhw44\nd+4cSktLVe1KpRILFy5EYWGhgNkRmQZPxxEJaObMmfjoo48wePBgjBkzBmKxGMeOHcOVK1cwfPhw\nHDx4sN6xlEpOfkJNT6M4EkpJSYGPjw9cXFwQEBCArKysJ66TlJSEAQMGwNnZGV5eXli0aJEJMiVS\nV5+JRB/X51//+hdWrFgBOzs7bN26FWlpaejevTsOHz6M7t271xlPW8zHbYeTnlJjJfjccWlpaZgx\nYwaWL18OiUSC5ORkbN26FTk5OapbSx/14Ycf4uDBg/jkk0/g5eWF27dvQyaT4cUXXzRx9kREpA/B\ni9CLL76IXr16YcWKFaq2vn37IigoCAsWLNDoL5VKMWjQIGRlZcHd3d2UqRIRkYEJejquuroaeXl5\nCAgIUGsPDAys886g/fv3w83NDT/88AN8fX3Ru3dvzJw5E8XFxSbImIiIDEnQIlRSUoKamho4OTmp\ntTs6OuLmzZta18nPz0dhYSF27dqFL7/8EmvXroVUKjXaC8SIiMh4mtzdcQqFAlVVVVi7di3c3NwA\nAGvWrEG/fv2Qm5v72OlRiIiocRH0SMje3h5mZmYaRz1FRUUaR0e1nJ2d0aJFC1UBAoBu3brBzMwM\nV65cMWq+RERkWIIWIXNzc/j6+iIjI0OtPT09HRKJROs6EokE9+/fR35+vqrtzz//RE1NjcZT50RE\n1LgJfnfcrl27EBUVhaVLl0IikWDdunXYunUrsrOz4erqiri4OOTm5mL37t0AHjyQFxgYiDZt2uB/\n//d/oVQq8eGHH+L+/fs4cOCAkLuiN6lUCg8PD6HTqJfaXMXnzsBiW6JesSrDoqHooTn7s6E0xXFt\n7JpKngBzbewEvyYUHByMsrIyJCQkQCaTwcvLC6mpqapnhGQyGQoKClT9RSIRtm/fjg8++ABjxoyB\npaUlnn/+eXz66adC7QIRETWQ4EUIACIjI+t842NSUpJGm5OTEzZs2GDstIiIyMgaxbQ9RETUPLEI\nERGRYFiEiIhIMCxCREQkGBYhIiISDIsQEREJhkWIiIgEwyJERESCYREiIiLBsAgREZFgWISIiEgw\nLEJERCQYFiEiIhIMixAREQmGRYiIiATDIkRERIJhESIiIsGwCBERkWBYhIiISDAsQkREJBgWISIi\nEgyLEBERCaaF0AkAQEpKClavXg2ZTIYePXpgyZIl8Pf319q3sLAQPj4+am0ikQg7d+5EYGCgKdKl\nJkpx7wYUFUV6xRBbOkLcysVAGZlWc99/apwEL0JpaWmIjY3F8uXLIZFIkJycjNDQUOTk5MDV1VXr\nOiKRCGlpafD29la12dramiplaqIUFUWovrhWrxjm7tOb7C/h5r7/1DgJfjouKSkJERERmDRpEjw8\nPBAfHw9nZ2esX7++znWUSiVsbGzg6Oio+tOiheD1lIiIdCRoEaqurkZeXh4CAgLU2gMDA5GTk/PY\ndWuL1siRI7F7924jZklERMYiaBEqKSlBTU0NnJyc1NodHR1x8+ZNretYWVlh8eLF2LhxI1JTU/Hc\nc88hMjISqamppkiZiIgMqMmdw7Kzs0N0dLTqs6+vL8rKyrBq1SqEhoYKmBkREelK0CJkb28PMzMz\njaOeoqIijaOjx+nTpw+2bNny2D5SqbRBOZpaU8kTeJBrB7kcqKzUK45cLsc1I++3VCqFg4UcqKjQ\nK06FXI7iYuPnagyG3v+m9l1tKppCrh4eHgaLJWgRMjc3h6+vLzIyMjB27FhVe3p6OoKCguod55df\nfoGzs/Nj+xhy0IxFKpU2iTyBf3IVn7sLCwsL/YJZWxt1v2tzvV9WgWpLS71imVtbw7az8XM1BkPu\nf1P8rjYFTSlXQxH8dFx0dDSioqLg5+cHiUSCdevWQSaTYerUqQCAuLg45Obmqm4+2LZtG8zNzdG7\nd2+IxWLs378f69evR1xcnJC7QUREDSB4EQoODkZZWRkSEhIgk8ng5eWF1NRU1TNCMpkMBQUFauss\nW7YMV69ehVgshru7OxITEzF+/Hgh0iciIj0IXoQAIDIyEpGRkVqXJSUlqX0OCwtDWFiYKdIiIiIj\nE/xhVSIiar5YhIiISDCN4nQcNV232zqgZtxMvWKYtXWAlYHyeRyxohVaOun3LJlI0cpA2RARwCJE\nerrU0hGJ5fr9Yo52tYLPk7vprUXRHVhs26xXjMqwaCjsDZQQEfF0HBERCYdFiIiIBMMiREREgmER\nIiIiwbAIERGRYFiEiIhIMCxCREQkGBYhIiISDIsQEREJhkWIiIgEwyJERESC4dxxRKQXxb0bUFQU\n6RVDbOkIcSsXA2VETQmLEBHpRVFRhOqLa/WKYe4+nUWomeLpOCIiEgyLEBERCYZFiIiIBMMiRERE\ngtG5CPXq1QuLFy/GhQsXjJEPERE1IzoXIW9vb3z++eeQSCR4/vnnsWbNGhQXF+uVREpKCnx8fODi\n4oKAgABkZWXVa71Lly6hY8eO6NSpk17bJyIiYehchL7++mucP38e8fHxaNmyJebNmwcvLy9MnDgR\n3377LSorK3WKl5aWhtjYWMTExCAzMxMDBgxAaGgo/vrrr8euV11djWnTpmHw4MG67gIRETUSDbom\nZGtrizfffBMHDhzA6dOnERMTg8uXLyMyMhIeHh54++23cezYsXrFSkpKQkREBCZNmgQPDw/Ex8fD\n2dkZ69evf+x6H330EXr27ImxY8c2ZBeIiKgR0PvGhK5du+KDDz7A3r17ERQUBLlcjq+++gqvvPIK\nfHx8sHbtWigUCq3rVldXIy8vDwEBAWrtgYGByMnJqXObBw4cwMGDBxEfH69v+kREJCC9Zky4c+cO\n9u7dix07duDIkSMQiUQYPnw4wsPDYW5ujk2bNmHevHn4/fffsXLlSo31S0pKUFNTAycnJ7V2R0dH\n/PTTT1q3ef36dcyZMwdbt25F69at9UmfiIgEpnMRUigUOHz4MHbs2IF9+/bhzp076NmzJxYtWoQJ\nEybAwcFB1ffll1/GokWLkJKSorUINcSMGTMwbdo0+Pn5AQCUSqVB4hIRkenpXIR69OiB4uJiODo6\nYsqUKQgLC4O3t3ed/b29vSGXy7Uus7e3h5mZGW7evKnWXlRUpHF0VCszMxNZWVn47LPPADwoQgqF\nAo6OjkhISMAbb7yhdT2pVFqf3RNcU8kTeJCrvIUtKiur9IojlysgLSszUFbaSaVSdJDLAR1vnHmU\nXC7HNSP/GxnrO+BgIQcqKvSKUSGXo7j4QX61eRo6rjE0tZ+rxs7Dw8NgsXQuQkOGDEFYWBheeOEF\niMVPvqQUEhKCoKAgrcvMzc3h6+uLjIwMtRsM0tPT61zn0du3v/vuOyxfvhyHDx+Gi0vdEyAactCM\nRSqVNok8gX9yvVtcBQuLv/WKZW1tBY+HjqANrTZX8bm7sLCw0C+YtbVR/42M+R24X1aBaktLvWKY\nW1vDtrOHWp6GjGsMTfHnqjnRuQg96a41bczMzOpcFh0djaioKPj5+UEikWDdunWQyWSYOnUqACAu\nLg65ubnYvXs3gAdHYg/Lzc2FWCyGp6enznkREZGwdC5CBw4cQHp6uup02KNiY2MRGBiIl156qV7x\ngoODUVZWhoSEBMhkMnh5eSE1NRWurq4AAJlMhoKCAl3TJCKiJkDnW7RXrlyJW7du1blcLpfrfBNC\nZGQkzpw5gxs3biA9PR0SiUS1LCkpCXl5eXWuGx4ejitXrui0PSIiahx0LkK///47+vTpU+dyX19f\n/P7773olRUREzYPORej+/fuoeMydMPfu3dN56h4iImqedC5CXl5e2Ldvn9ZlSqUS3333HW8SICKi\netG5CM2YMQPZ2dmYPHkyfvvtN9y/fx/379/H2bNnMXnyZJw4cQLTp083Rq5ERPSU0fnuuNDQUFy8\neBHLli3D3r17Vc8KKRQKiEQi/Pvf/0ZYWJjBEyUioqdPg+aOi42NxYQJE7Bnzx7k5+cDANzc3PDK\nK6+gW7duhsyPiIieYg2ewLRbt2549913DZkLERE1M3rNol1RUYHy8nKtk4i2b99en9BERNQM6FyE\nKisrsXTpUmzevFlj4tGHlZaW6pUYERE9/XQuQu+//z42b96MESNGYNCgQWjXrp0x8iIiomZA5yK0\ne/duRERE4PPPPzdGPkRE1Izo/JyQUqlUvVCOiIhIHzoXoVGjRuHIkSPGyIWIiJoZnYvQvHnzcOnS\nJbz33nvIy8tDcXExysrKNP4QERE9ic7XhPr06QORSIRff/0VGzdurLMf744jIqIn0bkI/fvf/zZG\nHkRE1AzpXITmz59vjDyIiKgZ0vma0MOqq6tx8+ZNVFdXGyofIiJqRhpUhLKzszF69Gh06NABPXr0\nwPHjxwEAJSUlGDduHDIyMgyZIxERPaV0LkLHjx/Hq6++iqKiIkyZMkVt3jh7e3tUV1dj06ZNBk2S\niIieTjoXoU8++QTe3t44duwY5s2bp7F8yJAhOHXqlEGSIyKip5vORejMmTN47bXXYG5uDpFIpLG8\nffv2j53YlIiIqJbOd8e1aNECNTU1dS6/du0arKys9EqKjKOs4j6U0PyPgy5EUMLWUq83gBARqej8\n26R///7Ys2cPZs2apbHszp072LJlCwYPHqxTzJSUFKxevRoymQw9evTAkiVL4O/vr7Xv+fPnERMT\ng/Pnz+P27dtwcXFBSEgI5s2bB3Nzc113p1kp/FuBxN/+1itGtLcVbC0NlBARNXs6F6HY2FiMHj0a\nEyZMQEhICADg7NmzKCgowOrVq1FSUoL333+/3vHS0tIQGxuL5cuXQyKRIDk5GaGhocjJyYGrq6tG\n/5YtWyI8PBy9e/dGu3btcPbsWbz99tuoqanBwoULdd0dIiISkM5FqF+/ftixYwfeffddREVFAfjn\nAdYuXbpg+/bt6NmzZ73jJSUlISIiApMmTQIAxMfH49ChQ1i/fj0WLFig0d/NzQ1ubm6qzx07dkRo\naCiysrJ03RUiIhJYg07uDxs2DKdOncKZM2dw8eJFKBQKuLm5oW/fvhCL63+vQ3V1NfLy8jB79my1\n9sDAQOTk5NQrxuXLl3Ho0CGMHj1ap30gIiLhNfgKs0gkgq+vL3x9fRu88ZKSEtTU1MDJyUmt3dHR\nET/99NNj1x0xYgTOnDmDqqoqTJ48WetRExERNW46F6H6HqEMHDhQ52R0sWHDBvz99984e/YsFixY\ngBUrVuDdd9+ts79UKjVqPoZizDzlLWxRWVmlXwy5AtL/f1WHVCo1eExjkUql6CCXA5WVesWRy+W4\nZuTvkrG+Aw4WcqCiQq8YFXI5iosf5Febp6HjGkNT+fkHmkauHh4eBoulcxEaOXKk1ueDHlWfVznY\n29vDzMxM47mioqIijaOjR3Xo0AEA0L17d9y/fx9vv/023nnnnTpPBxpy0IxFKpUaNc+7xVWwsNDv\n7jhrayt4ODiocjVkTGOpzVV87i4sLCz0C2ZtbdR/I2N+B+6XVaDaUr9bG82trWHb2UMtT0PGNQZj\n/1wZUlPK1VB0LkLffvutRltNTQ0KCwuxceNGiMXiep8aMzc3h6+vLzIyMjB27FhVe3p6OoKCguqd\nU01NjeqPLtekiIhIWDoXoWHDhtW5bNKkSRg5ciSys7Px/PPP1ytedHQ0oqKi4OfnB4lEgnXr1kEm\nk2Hq1KkAgLi4OOTm5mL37t0AgO3bt8PS0hLPPvsszM3Ncfr0aXzyyScICgric0JERE2MQR99NzMz\nQ0hICFatWoXY2Nh6rRMcHIyysjIkJCRAJpPBy8sLqampqmeEZDIZCgoK/km4RQssX74cf/75J5RK\nJTp16oTp06dj5syZhtwVIiIyAYPPv3Lr1i2Ul5frtE5kZCQiIyO1LktKSlL7HBISonpIloiImjad\ni9D169e1tt+6dQvHjx/H6tWrjX5nHBERPR10LkLPPvtsnXfHKZVK9OnTBytXrtQ7MaKmQHHvBhQV\nRXrHEVs6QtzKxaBxH41J1BjpXIRWrVql0SYSiWBjYwM3NzedpuwhauoUFUWovrhW7zjm7tPVi5AB\n4j4ak6gx0rkIvfHGG8bIg4iImiE+VENERILR+UgoODhY542IRCKkpaXpvB4RET3ddC5C9+7dw40b\nN1BQUABra2t06tQJAHDlyhXI5XJ07doVLi48D01ERE+mcxGKi4vDa6+9hpUrVyI8PFw1S0F1dTW2\nbNmCuLg4rFmzBgMGDDB4skRE9HTR+ZrQ/PnzER4ejsmTJ6tNk2Nubo4pU6YgPDxc9ZI7IiKix9G5\nCJ09exZdu3atc3mXLl3w66+/6pMTERE1EzoXIWdnZ3z77beoqanRWFZTU4Ndu3bB2dnZIMkREdHT\nTedrQrNnz0ZMTAyGDx+OyZMn45lnngHw4DXbGzduRF5eHpYuXWrwRImI6OmjcxGaNm0axGIxFi9e\njHfeeUc1hY9SqYStrS2WLl2KadOmGTxRIiJ6+jRoFu2pU6ciIiICJ0+exNWrVwEAnTp1Qr9+/fhO\nHyIiqrcGv8rB3NwcgwYNMmQuRETUzDRo2p7y8nIsWbIEL7/8MgYOHIiTJ08CAEpLS5GQkACpVGrQ\nJImI6Omk85HQlStXMGrUKBQVFcHT0xNSqRR3794FANjZ2eHrr7/GjRs3eHMCERE9kc5F6KOPPkJ1\ndTWysrLQrl07uLu7qy1/+eWX8f333xssQSIienrpfDouPT0d06dPxzPPPKP15XZdu3bFX3/9ZZDk\niIjo6aZzEaqsrISdnV2dy+VyOcRiviGCiIieTOdq0aNHDxw/frzO5fv27ePbVYmIqF50LkJRUVH4\n5ptvsHLlSty+fRvAgwdVL1++jOnTp+PEiROIjo42eKJERPT00bkITZw4EbGxsVi8eDH69u0LAAgJ\nCUG/fv3wzTff4KOPPsLo0aN1ipmSkgIfHx+4uLggICAAWVlZdfY9evQowsPD0aNHD3To0AGDBw/G\n5s2bdd0NIiJqBBr0sOr777+PCRMmYM+ePbh06RIUCgXc3NwwduxY1Vxy9ZWWlobY2FgsX74cEokE\nycnJCA0NRU5ODlxdXTX6nzhxAt7e3pgzZw6cnZ1x6NAhzJkzB61atUJISEhDdoeIiASiUxGqqKjA\n3r174e7uDj8/P8yePVvvBJKSkhAREYFJkyYBAOLj43Ho0CGsX78eCxYs0Oj/3nvvqX2OjIxEZmYm\n9uzZwyJERNTE6HQ6ztLSEv/6179w5swZg2y8uroaeXl5CAgIUGsPDAxETk5OvePI5XLY2NgYJCci\nIjIdna8JdevWDTKZzCAbLykpQU1NDZycnNTaHR0dcfPmzXrF+P7773HkyBFMnTrVIDkREZHp6FyE\n3nvvPaSkpOD8+fPGyEcn2dnZmD59OuLj4+Hr6yt0OkREpCOdb0w4ceIE7O3tMXjwYPj7+8PNzQ2W\nlpZqfUQiEf7zn/88MZa9vT3MzMw0jnqKioo0jo4elZWVhYkTJ+J//ud/MGXKlCduq6lMqmrMPOUt\nbFFZWaVfDLkC0rIyAA9yNXTMWpa2TmhpYaFX3KrKSlSUPfhuSaVSdJDLgcpKvWLK5XJce+jfyMFC\nDlRU6BUTACrkchQXP4grlUoNEvfhmADQwRJoYRukV8zKv4E/H8rTGHGNoan8/ANNI1cPDw+DxdK5\nCCUnJ6v+fvToURw9elSjT32LkLm5OXx9fZGRkYGxY8eq2tPT0xEUVPeX+tixY3jttdfw4YcfYsaM\nGfXK25CDZixSqdSoed4troKFxd96xbC2toKHg4MqV0PGfNiZ4iok5uoXN9rbCj4eHqpcxefuwkLP\nwgZra7V/o/tlFah+5D9hDWFubQ3bzv/kaoi4tTFric+dgcW27XrFrAyLhkcPD7XvqiHjGoOxf64M\nqSnlaig6F6Hi4mKDJhAdHY2oqCj4+flBIpFg3bp1kMlkqms8cXFxyM3Nxe7duwEAmZmZeO211/Dm\nm28iJCREdRRlZmYGe3t7g+ZGRETGVa8iNHfuXISHh8PX1xdmZmYAgLt376JVq1ZaJzHVRXBwMMrK\nypCQkACZTAYvLy+kpqaqnhGSyWQoKChQ9d+2bRvu3buH1atXY/Xq1ar2Tp06GeyuPSIiMo16FaHk\n5GT0799fdfG/tLQU7u7u2LVrF4YNG6Z3EpGRkYiMjNS6LCkpSePzo21ERNQ0NXi6a6VSacg8iIio\nGeI7F4iISDAsQkREJJh63x2Xn5+PU6dOAYDqFQ5SqRRWVlZa+9fOsE1ERFSXehehJUuWYMmSJWpt\nc+fO1einVCohEolQWlqqf3ZERPRUq1cRSkxMNHYeRETUDNWrCIWHhxs7DyIiaoZ4YwIREQmmQW9W\npX+UVdyHEvrNGiGCEraW//xTGCKmtrjN3e22DqgZN1OvGGZtHaD9VhzDEitaoaVTqF4xRIpWBsrG\n9BT3bkBRUaRXDLGlI8StXAyUkWk1p/3nbyg9Ff6tQOJv+k+0afvQXJWGiKktbnN3qaUjEsv1+8Uc\n7WoFHwPl8zgtiu7AYttmvWJUhkVD0USnU1RUFKH64lq9Ypi7T28Sv4S1aU77z9NxREQkGBYhIiIS\nDIsQEREJhkWIiIgEwyJERESCYREiIiLBsAgREZFgWISIiEgwLEJERCQYFiEiIhIMixAREQmGc8cR\n6cEQE40CTXuyUSJ9NIoilJKSgtWrV0Mmk6FHjx5YsmQJ/P39tfatrKzEu+++izNnzuDChQuQSCTY\nu3eviTMmesAQE40CTXuyUSJ9CH46Li0tDbGxsYiJiUFmZiYGDBiA0NBQ/PXXX1r719TUoFWrVpgx\nYwZGjBhh4myJiMiQBC9CSUlJiIiIwKRJk+Dh4YH4+Hg4Oztj/fr1Wvu3bt0aCQkJeOONN9C+fXsT\nZ0tERIYkaBGqrq5GXl4eAgIC1NoDAwORk5MjTFJERGQyghahkpIS1NTUwMnJSa3d0dERN2/eFCgr\nIiIyFcFPxxERUfMl6N1x9vb2MDMz0zjqKSoq0jg60pdUKjVovFryFraorKzSL4ZcAWlZGYAHeRoi\n5qNxgcab66N5Ak0n1w5yOVBZqVfMB3HluPb/31GpVGqQuA/HBAyT66N5GiMuADhYyIGKCr1iVsjl\nKC5Wz7UpkEqlBt9/Q/Pw8DBYLEGLkLm5OXx9fZGRkYGxY8eq2tPT0xEUFGTQbRly0B52t7gKFhZ/\n6xXD2toKHg4OkEql8PDwMEjMh+PWaqy5Ppon0HRyFZ+7CwsLC71i/n9geHh4qHI1SNz/j1nLkDFr\n8zR03Fr3yypQbWmpV0hza2vYdlbPtbGrzdWQ+9/YCf6cUHR0NKKiouDn5weJRIJ169ZBJpNh6tSp\nAIC4uDjk5uZi9+7dqnXOnz+PyspKlJaW4s6dO/j1118BAL169RJkH4iIqGEEL0LBwcEoKytDQkIC\nZDIZvLy8kJqaCldXVwCATCZDQUGB2jqhoaG4evWq6vNzzz0HkUiE0tJSk+ZORET6EbwIAUBkZCQi\nIyO1LktKStJo++WXX4ydEhERmQDvjiMiIsE0iiMhIiJjU9y7AUVFkd5xxJaOELdyMWjcR2M2JyxC\nRNQsKCqKUH1xrd5xzN2nqxchA8R9NGZzwtNxREQkGBYhIiISDIsQEREJhkWIiIgEwyJERESCYREi\nIiLBsAgREZFgWISIiEgwLEJERCQYFiEiIhIMixAREQmGRYiIiATDCUyJ9HC7rQNqxs3UO45ZWwdY\nGSAfqptY0QotnUL1jiNStDJANsJojDN+swgR6eFSS0ckluv/Syna1Qo+BsiH6tai6A4stm3WO05l\nWDQU9gZISACNccZvno4jIiLBsAgREZFgWISIiEgwLEJERCQYFiEiIhJMoyhCKSkp8PHxgYuLCwIC\nApCVlfUdUXnCAAATkklEQVTY/r///jtGjx6N9u3bw9vbG/Hx8SbKlIiIDEnwIpSWlobY2FjExMQg\nMzMTAwYMQGhoKP766y+t/eVyOYKDg+Hi4oKMjAwsWbIEq1evRmJiookzJyIifQlehJKSkhAREYFJ\nkybBw8MD8fHxcHZ2xvr167X237FjB+7du4cvvvgCnp6eePXVV/HOO+8gKSnJxJkTEZG+BC1C1dXV\nyMvLQ0BAgFp7YGAgcnJytK5z8uRJ+Pv7o2XLlqq2F154AdevX0dhYaEx0yUiIgMTtAiVlJSgpqYG\nTk5Oau2Ojo64efOm1nVu3ryptb9SqaxzHSIiapxE5eXlSqE2fuPGDXh5eWHfvn3w9/dXtcfHx2Pn\nzp04ceKExjrjxo2Dq6srVq9erWq7evUqevXqhYMHD6Jfv34myZ2IiPQn6JGQvb09zMzMNI5gioqK\nNI52ajk5OWntLxKJ6lyHiIgaJ0GLkLm5OXx9fZGRkaHWnp6eDolEonWdAQMGICsrC1VVVaq2w4cP\no3379ujcubMx0yUiIgMT/O646OhobN26Ff/9739x4cIFfPDBB5DJZJg6dSoAIC4uDmPHjlX1Hz9+\nPFq3bo1Zs2bhjz/+wJ49e7Bq1SpER0cLtQtERNRAgr/KITg4GGVlZUhISIBMJoOXlxdSU1Ph6uoK\nAJDJZCgoKFD1b9u2LXbt2oWYmBgEBgbCxsYGs2fPxqxZs4TaBSIiaiBBb0wgIqLmTfDTcYayfPly\n2NraYu7cuY/t1xim/KlProWFhbC1tVX7Y2dnh8OHDxs1t88++0xjuz169HjsOkKNqa65CjWmtWQy\nGWbOnAl3d3e4uLjA398fx48ff+w6QoytrnkKNa69e/fW2K6trS0mTpxY5zpCfVd1zVXI76pCocDi\nxYtVU6n5+Phg8eLFUCgUj12voWMr+Ok4Qzh58iQ2bdqEnj17PrZf7ZQ/Q4YMQUZGBs6fP4/o6Gi0\nadPGZNeU6psrAIhEIqSlpcHb21vVZmtra8z0AADdu3fHd999B6XywUGymZlZnX2FHlNdcgWEG9Nb\nt25hxIgRGDRoEHbu3Ak7Ozvk5+fD0dGxznWEGNuG5AkIM64ZGRmoqalRfb5+/ToCAgIwbtw4rf2F\n/K7qmisg3Hd1xYoVWL9+Pb788kt4eXnht99+w8yZM2FpaYmYmBit6+gztk2+CN26dQvTp09HYmIi\nPvvss8f2fXjKn5YtW8LT0xMXLlxAUlKSSX5h6pIrACiVStjY2DzxF4ChmZmZwcHBoV59hR5TXXIF\nhBvTVatWoX379mrTSz3pbk4hxrYheQLCjKudnZ3a502bNqFt27YICgrS2l/I76quuQLCfVdPnDiB\nkSNHYvjw4QCATp06YeTIkfj555/rXEefsW3yp+PmzJmjqsBPIvSUP7rkWqt2Tr2RI0di9+7dRszu\nHwUFBfDy8oKPjw+mTZuG/Pz8OvsKPaa65FpLiDHdt28f+vbti8jISHh4eGDo0KFITk5+7DpCjG1D\n8qwlxLg+bPPmzZg4cSIsLCy0Lhf6u/qwJ+VaS4gx9ff3R2ZmJqRSKQDg3LlzyMzMxIgRI+pcR5+x\nbdJFaNOmTcjPz8f8+fPr1V/IKX90zdXKygqLFy/Gxo0bkZqaiueeew6RkZFITU01ap79+/dHUlIS\nvvnmG3z++eeQyWQYMWIEysvLtfYXckx1zVWoMQWA/Px8rFu3Dm5ubkhLS8PMmTMRFxeHlJSUOtcR\nYmwbkqeQ41rr8OHDKCwsxOTJk+vs01im/KpPrkKO6Zw5czBx4kQMHDgQjo6OGDRoEMLCwlSPzWij\nz9g22dNxFy9exCeffIIDBw5ALG7ctbQhudrZ2akdxvr6+qKsrAyrVq1CaGiosVLFCy+8oPa5f//+\n8PHxwdatWxvdbfC65irUmAIPLvb27dsXCxYsAAD06tULly5dQkpKCt58802jblsXDclTyHGttWnT\nJvTp0wfPPvusSbanj/rkKuSYfvPNN/j666+xfv16eHp64tdff8UHH3yALl26ICIiwuDba9y/vR/j\nxIkTKC0txcCBA+Hg4AAHBwccO3YMKSkpcHR0RHV1tcY6Qk3505BctenTpw8uX75stDy1ad26NXr0\n6FHndhvTNEpPylUbU42ps7MzunfvrtbWvXt3XL16tc51hBjbhuSpjSm/q8XFxdi/f/9jjyyAxvFd\nrW+u2phqTD/++GO8/fbbCAoKgpeXFyZMmIDo6GisWLGiznX0GdsmW4TGjBmD48eP4+jRo6o/fn5+\nGD9+PI4ePQpzc3ONdYSa8qchuWrzyy+/wNnZ2Wh5alNRUQGpVFrndhvTNEpPylUbU42pRCJRnWOv\nJZVK0alTpzrXEWJsG5KnNqb8rm7ZsgWWlpYICQl5bL/G8F2tb67amGpM7969q3HGRiwWP/YWbX3G\ntskWobZt26JHjx5qf1q3bg0bGxt4enoCaDxT/jQk123btmHnzp24cOECLl68iNWrV2P9+vWYMWOG\nUXNdsGABjh07hoKCAvz888+YPHky7t69i7CwMK15CjmNkq65CjWmADBr1iz8/PPPSEhIwJ9//olv\nv/0Wa9euxVtvvaXq0xjGtiF5CjmuAPDVV18hJCQErVu3VmtvDOPZ0FyFHNORI0di5cqV+OGHH1BY\nWIi9e/ciKSkJr7zySp356jO2TfaakDYikUjtc2Oe8udJuQLAsmXLcPXqVYjFYri7uyMxMRHjx483\nal7Xrl3DW2+9hZKSEjg4OKBfv3748ccf0bFjR615CjmmuuYKCDOmAODn54ctW7YgLi4Oy5YtQ8eO\nHbFgwQJERkaq+jSGsW1InoBw45qZmYnLly9rvXGiMYxnQ3MFhBvTpUuX4tNPP0VMTAyKi4vh7OyM\nKVOmqD1cb8ix5bQ9REQkmCZ7Oo6IiJo+FiEiIhIMixAREQmGRYiIiATDIkRERIJhESIiIsGwCBER\nkWBYhIi0mDlzJnr37m2SbfXq1ateT5YfPXoUtra2OHbs2BP71r6Zc9WqVQ3KqXZbtW/0PHXqVIPi\nNFRpaanaW0Ubuh/U+LEIkcmdP38ekZGRqtcHe3l5YfTo0fV60Z+piEQijVktHpWYmAhbW1ucPn1a\nY1nPnj1ha2uLX375RWOZl5cXRo0apfosFoufuK2H83rYzp078cUXX9Rr3YaIiYnBmjVr8Mwzzxht\nG9pYWVlh7dq1WLJkSb3HhpomFiEyqRMnTmDYsGE4ffo0Xn/9dSxduhSRkZGwsbFpcv/b9ff3BwBk\nZWWptV+9ehV//fUXzM3NkZ2drbYsPz8fN27cUK0LAD///HOD9z01NRVffvllg9Z9EpFIhICAAISG\nhprktdIPa9myJUJDQ/Hyyy+rXt1OT6enau44avyWLVuGNm3aID09HTY2NmrLiouLBcqqYXx8fNC6\ndWtkZ2erzZGVnZ2NVq1a4aWXXkJ2djamT5+utkwkEmHgwIGqtvrOok70NOKREJlUfn4+PD09NQoQ\nADg4OGi0HT58GKNHj0bHjh3RsWNHjB8/Hr/++qtan5kzZ8LFxQVXrlzBhAkT0LFjR3Tv3h1xcXGo\nqalR67tlyxYEBQXB09MTzs7O6Nu3L1asWNGg/22bmZmhb9++yMnJUWvPycmBn58fhg4dqrFMWxHS\ndk3o2rVrCA8Ph6urKzw8PPDhhx+iqqpKLc8xY8aoZjp++PrNo/773//Cz88Pzs7OCAwM1Hr6UFeX\nLl3CtGnT4OHhARcXF/Tt2xexsbGq5UuWLIGtrS0uXLiA6dOno3PnzujWrRs++eQT1f69/vrr6Ny5\nM7p3747Vq1frnRM1TTwSIpPq3LkzcnJycPbsWfTs2fOxfVNTUzFjxgwEBgbi448/RmVlJTZt2oTR\no0fj8OHDcHd3B/DgtJFSqcT48ePRu3dvxMXF4ejRo1i5ciXkcjmWLVumirlu3Tp4enpi+PDhsLS0\nxE8//YRFixZBLpfjo48+0nl/JBIJjh49isuXL6uum2RlZWHkyJHo378/rl27hoKCAnTp0gXAgwL1\naBF+9JpHRUUFXn31VVy7dg1RUVFwdnZGamoqjhw5otb3/fffx+3bt3H9+nUsWbJEayH95ptvcPfu\nXdUs2KtWrcKkSZNw5swZmJmZ6by/APDHH39gxIgRaNGiBaZOnYouXbqgsLAQaWlpWLJkido+TZs2\nDZ6enoiLi8MPP/yAFStWwMbGBlu2bMHgwYMRFxeHHTt24OOPP4avry+GDh3aoJyo6WIRIpN6++23\nMW7cOAwbNgx+fn7w9/fH0KFDMWzYMFhYWKj63b17F3PnzkVERAQ+//xzVfukSZPQr18/xMfHY+3a\ntar2qqoqDBkyBAkJCQAe/PKzsLDAhg0bMGvWLFWB2LdvHywtLVXrRUZGYs6cOUhOTkZsbKzOp8b8\n/f2hVCqRlZWFZ555Brdv38Yff/yBhQsXolevXrCyskJ2dja6dOmC8vJynD9/HlOnTn1szA0bNuDy\n5cvYsGGD6p0tU6ZM0fgFPWzYMLRv3x63bt2qc4r/a9euITc3F23btgUAuLu74/XXX8ehQ4cwfPhw\nnfa1VkxMDJRKJX766Se1l93Nnz9fo2+fPn1U17smT56M3r17Y+HChZg/fz7effddAMC4cePg5eWF\nzZs3swg1QzwdRyb13HPPYf/+/Rg5ciTOnTuHxMRETJw4ER4eHtiyZYuqX3p6Om7duoWQkBCUlpaq\n/ty/fx/+/v7IzMxUiysSidSuvQBAVFQUFAoFfvjhB1VbbQFSKBQoLy9HaWkpBg0ahDt37uDChQs6\n70///v1hZmamugGh9vRb//79IRaL0adPH9WyrKwsKJVKtZsStPnxxx/h5OSk9tIwCwsLTJo0Sef8\nxo4dqypAwD9FMz8/X+dYAFBSUoLjx48jPDz8iW9bFYlEajmLxWL4+vpCqVQiIiJC1d6uXTu4u7tr\nvE+HmgceCZHJ9e/fH1u2bEFNTQ3OnTuHAwcO4PPPP8fs2bPRuXNnDB06FJcuXYJSqURQUJDG+iKR\nSONUkkgk0riNuFu3bgAePDNTKysrC4sWLUJubq7aq4hFIhFu376t875YWVnB29tbrQh5enqiXbt2\nAICBAwdi7969qmUikQgSieSxMa9cuQI3NzeN9trTj7pwdXVV+1x7GrC8vFznWABUxcvLy6te/Wtf\nMFirbdu2MDc3h6Ojo0Z7U7sxhQyDRYgEY2ZmBm9vb3h7e6Nfv34YO3YsduzYgaFDh0KhUEAkEuGL\nL76Ai4uLQbaXn5+P4OBguLu747PPPoOrqyssLCxw5swZLFy4EAqFokFxJRIJkpOTUVJSguzsbLWb\nDgYOHIiEhASUl5cjOzsbHTp00PjFbEx1Xfcx1W3P2rYvFms/AcNbsZsnFiFqFPr27QsAuHHjBgDA\nzc0NSqUS9vb2GDZs2BPXVyqVuHz5Mjw9PVVtly5dAgDVTQH79u1DVVUVtm/frnaE0NBTU7X8/f2R\nnJyMI0eOIDc3V+0UVP/+/SESifDTTz8hLy8Pr7766hPjderUCb/99ptG+8WLFzXaTP0gZ+0R2u+/\n/27S7dLTi9eEyKSOHDmi9X+8tddtunfvDgAIDAxEu3btkJCQgOrqao3+JSUlGm1r1qxR+/zll19C\nLBbjpZdeAgC0aPHg/1wPH/FUVlaq3eDQEBKJBEqlEmvWrEFFRYXakVDbtm3RvXt3fPHFF6iqqnri\nqTgAeOmll3Dz5k3s3r1b1Xbv3j189dVXGn3btGmDW7du6ZW/Luzs7DB48GBs27aN13DIIHgkRCY1\nb948/P333xgzZgw8PT2hUCiQl5eHHTt2wMHBAVFRUQAAa2trrFixAtOnT8dzzz2HkJAQODk54cqV\nKzh06BC8vLyQmJioituiRQscP34cb731FiQSCY4cOYK9e/di6tSpqmtFL7zwAszNzTFx4kRMmTIF\nlZWV2L59u6o4NZSLiwu6dOmCnJwcODs7o2vXrmrLJRIJNmzYUK/rQcCDu8iSk5MRFRWF06dPo337\n9tixY4fa3YO1fH19sWvXLsybNw/9+vWDWCzGuHHj9NqfJ4mPj8eoUaMQEBCAqVOnomvXrigsLMSu\nXbtMPsccNX0sQmRSixcvxp49e5Ceno7NmzejqqoKLi4umDhxIt577z21O66Cg4PRvn17LF++HImJ\niaisrISLiwsGDhyocZuzmZkZdu7ciffeew8ff/wxWrdujXfeeUfttuFu3bph69atWLRoERYuXAg7\nOzuEhYVhyJAhCA4O1shVl1NdEokEhYWFWovMwIEDsXHjRtjY2ODZZ5/Vup2Ht9WqVSvs2bMHc+fO\nRUpKClq1aoUJEybgxRdfREhIiNq6b775Jv744w+kpqYiOTkZSqVSVYTqmv+uPvPiPc6zzz6LH3/8\nEZ9++ik2btyIiooKuLq64uWXX67X+nVtm3PENU+i8vJyXg2kJm3WrFnYtWsXrl+/LnQqT42jR4/i\nlVdewdatWzFw4EC0a9euwQ+3NlRpaSmuXLmCgIAALFy4EO+8845Jt0+mwSMhItJKJBIhPDwcIpEI\nBw8eVN08YgqlpaWqW+x5hPR0YxEiIg09e/bErl27VJ8fvuvQFNq2bYtvv/1W9bm2INHTh0WIngr8\n37Jh2djY1OvWeGNp0aKFoNsn0+E1ISIiEgyfEyIiIsGwCBERkWBYhIiISDAsQkREJBgWISIiEgyL\nEBERCeb/AI1foN1VfPBTAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110ce96d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nOwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110d03f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def stackhist(x, y, **kws):\n",
    "    grouped = pd.groupby(x, y)\n",
    "    data = [d for _, d in grouped]\n",
    "    labels = [l for l, _ in grouped]\n",
    "    plt.hist(data, histtype=\"barstacked\", \n",
    "             label=labels, alpha=0.8, normed=True,\n",
    "             bins=np.arange(4.0, 8.1, 0.25))\n",
    "    plt.ylim([0, 0.6])\n",
    "    plt.xlim([4, 8])\n",
    "    plt.xlabel('Sepal Width [cm]')\n",
    "    plt.ylabel('Frequency')\n",
    "\n",
    "with plt.style.context('fivethirtyeight'):    \n",
    "    \n",
    "    stackhist(df[0], df['class'])\n",
    "    #plt.legend(['Setosa', 'Virginica', 'Versicolor'], fontsize=12)\n",
    "    plt.title('All')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('./all.svg')\n",
    "    plt.show()    \n",
    "\n",
    "    stackhist(df_train[0], df_train['class'])\n",
    "    plt.title('Train')\n",
    "    plt.tight_layout()\n",
    "    #plt.savefig('./train.svg')\n",
    "    plt.show()    \n",
    "\n",
    "    stackhist(df_test[0], df_test['class'])\n",
    "    plt.title('Test')\n",
    "    plt.tight_layout()\n",
    "    #plt.savefig('./test.svg')\n",
    "    plt.show() \n",
    "    \n",
    "    \"\"\"\n",
    "    fig = plt.figure()\n",
    "    figlegend = plt.figure(figsize=(3,4))\n",
    "    ax = fig.add_subplot(111)\n",
    "    lines = ax.plot(range(10), np.random.randn(10), range(10), np.random.randn(10), np.random.randn(10), range(10),)\n",
    "    figlegend.legend(lines, ['Setosa', 'Virginica', 'Versicolor'], 'center')\n",
    "    fig.show()\n",
    "    figlegend.show()\n",
    "    figlegend.savefig('legend.svg')\n",
    "    \"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
